$(function(){
    var rotatetimer,    /* 旋转定时器 */
        isNext = true,  /* 播放结束是下一首还是暂停 */
        isloop = true,  /* 是否循环播放 */
        isPlay = false, /* 播放状态 */
        angle = 0,      /* 旋转角度 */
        i = 0,
        max = 0,        /* 时长 */
        value = 0,
        $cover = $('.cover'),
        $btnPlay= $('.btn_play'),
        $scale = $('#scale'),
        $btnFf = $('.btn_ff'),
        $btnFr = $('.btn_fr'),
        $timeCur = $('#time_cur'),
        $btnNext = $('.btn_next'),
        $btnPrev = $('.btn_prev'),
        $audioDot = $('.audio_dot'),
        $audioBlue = $('.audio_blue'),
        $audioLine = $('.audio_line'),
        $audioTitle = $('.audio_title'),
        wLine = $audioLine.width(),
        wDot = $audioDot.width(),
        $timeLong = $('#time_long'),
        $music=$('#music'),
        music = $music.get(0);          /* jQuery对象 转换为 DOM对象 以便于操作 Audio 对象*/

    /* 获取歌曲时长 因为要加载完成才能获取时长，所以设置 延时获取*/
    function getTime() {
        setTimeout(function () {
            isNaN(music.duration)?getTime():$timeLong.html(toTwo(music.duration))
        });
    }
    /*播放*/
    $btnPlay.on('click', function() {
        isPlay ? nplay() : iplay() ;
    });

    /*切换音乐*/
    $btnNext.on('click', function() {
        next();
    });
    $btnPrev.on('click', function() {
        prev()
    });
    /*快进 快退*/
    $btnFf.on('click', function() {
        music.currentTime += 5;
    });
    $btnFr.on('click', function() {
        music.currentTime -= 5;
    });
    function prev() {             /*上一首  是否向上循环播放*/
        i>0 ? i-- :(isloop?i=lens-1:console.log('已经是最后一首了'));
        play(i)
    }
    function next() {            /*下一首 是否向下循环播放*/
        (i<=lens-2) ? i++ : (isloop ? i=0 : console.log('已经是最后一首了')) ;
        play(i)
    }

    /*播放歌曲方法*/
    function play(j) {
        $cover.css('background-image', "url(" + musList[j].cov + ")");  /* 更换对应歌曲海报 */
        $music.attr('src', musList[j].voi);                             /* 更换对应歌曲链接 */
        $audioTitle.html(musList[j].tit);                               /* 更换对应歌曲名称 */
        $singer.html(musList[j].inf);                                   /* 歌手信息，在此直接放字符串了，也可以像歌词一样单独列出来 */
        $songList.find('.cur').removeClass('cur');
        $songList.find('li').eq(i).addClass('cur');                     /* 当前播放歌曲高亮 */
        isPlay ? iplay(): nplay();
        renderLyric(j);                                                  /* 获取对应歌词 */
        getTime();                                                       /* 获取对应时长 */
    }

    /*播放状态*/
    function iplay() {

        $btnPlay.removeClass('btn_pause');
        (music.onloadeddata = function () {         /* loadeddata 当浏览器已加载音频/视频的当前帧时触发。*/
            $scale.attr('max', music.duration);
            max = Math.round(music.duration);
            $timeLong.html(toTwo(music.duration));  /*加载载歌曲时长*/
        })();
        music.play();
        isPlay = true;
        
    }

    /*  歌曲当前播放时间 和进度条对应 */
    music.ontimeupdate = function () {
        value = Math.round(music.currentTime);
        $scale.val(value);
        $timeCur.html(toTwo(value));/*加载载歌曲当前播放时间*/
        leftDot = wLine * value/max;
        /*设置进度条样式*/
        $audioDot.css({ 'left' : leftDot });
        $audioBlue.css({ 'width' : leftDot+wDot/2 });
        music.onended = function () {
            console.log('音频播放完成');
            isNext?next():nplay();    /* 判断歌曲播放结束 是否下一首,*/
        }
    };

    /*拖拽进度条*/
    $scale.on('change', function() {
        music.currentTime = $scale.val();
    });

    /*暂停状态*/
    function nplay() {
        music.pause();
        isPlay = false;

        $btnPlay.addClass('btn_pause'); /* 添加暂停按钮 */
    }
    /*时间格式转换器 - 00:00*/
    function toTwo(num){
        function changInt(num){
            return (num < 10) ? '0'+num : num;
        }
        return changInt(parseInt(num/60))+":"+ changInt(Math.round(num%60));
    }

});